home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 7
/
FM Towns Free Software Collection 7.iso
/
data
/
happysrc
/
hapai.h
next >
Wrap
Text File
|
1993-11-30
|
4KB
|
64 lines
/*********************************************************************
* *
* HAPPy assembler & interpriter common header *
* *
* Copyright (c) H.Asano 1992,1993 *
* *
*********************************************************************/
#define Maxstore 10000 /* 記憶装置の大きさ(ワード数) */
#define Maxint 2147483647L /* 最大整数値 */
#define Largeint 32768L /* intより大きい数 */
#define NilValue Maxstore + 1 /* ポインタのnilの値 */
#define MaxIDlng 32 /* 名前の最大識別可能文字数 */
#define MaxRFlen 32 /* 実ファイル名の最大長 */
#define Maxfileno 8 /* 最大ファイル数(input,output以外)*/
#define addset(Set,pos) ((Set) |= ( (long)1 << ((pos) & 0x1F) ))
#define inset(Set,pos) (( ((long)(Set)) >> ((pos) & 0x1F) ) & 0x1)
typedef long integer ; /* integer は long型とする */
typedef enum bool {false , /* 偽 */
true /* 真 */
} boolean ; /* pascalのboolean型と同じ */
typedef struct { /********* 命令格納域 型定義 */
unsigned char cdop ; /* operation */
char cdp ; /* p operand */
short cdq ; /* q operand */
} _code ;
typedef union { /********* 記憶装置 型定義 */
integer vi ; /* integer */
float vr ; /* real */
short vb ; /* boolean */
long vs ; /* set (0..31) */
short vc ; /* char */
int va ; /* address */
_code vo ; /* object code */
} _store;
typedef enum fmode {
undefined , /* 不定 */
inspection , /* 検査モード */
generation /* 生成モード */
} fmode ;
typedef struct fileinfo { /* ファイル情報テーブル */
char filename[MaxIDlng+1] ; /* 外部ファイル 論理ファイル名 */
int fileadr ; /* P-code上の ファイル変数アドレス */
int filesize ; /* バッファ変数の大きさ */
char rfname[MaxRFlen+1] ; /* 実ファイル名 */
_store *filebuf ; /* バッファ変数アドレス */
boolean textfile ; /* テキストファイルの時 真 */
boolean eolnflag ; /* テキストファイルのeolnの時 真 */
boolean writelnflag; /* 最後が改行の時 真 */
FILE *fp ; /* ファイルポインタ */
fmode mode ; /* 生成モード / 検査モード / 不定 */
} fileinfo ;
EXTERN fileinfo fi[Maxfileno+2] ;